004 論理ゲート
ここでは論理ゲート(NOT,AND,OR,XOR,NAND,NOR)について解説します。
論理ゲートを理解できるようになりますと簡単なデジタル回路を設計できるようになります。
まずは論理ゲートについて簡単に解説したのち、電気的な事も解説します。
以下に出てくる「真理値表」とは、論理ゲートの入力と出力の関係を表す表のことです。
1.論理ゲート
- NOT
ノットです。入力と出力が反転します。
真理値表 X Y 0 1 1 0 図記号の入出力のところに小さなマル(〇)が付いています。 これは入出力端の論理(正論理、負論理)を表していまして、マル(〇)が付いている方が負論理です。 どちらもNOTゲートの図記号に変わりはありません。 下のAND、OR、NAND、NOR、XORに関しても同様です。
- AND
アンドです。入力すべてが1のとき出力が1になります。
真理値表 X Y Z 0 0 0 1 0 0 0 1 0 1 1 1
- OR
オアです。入力のどちらか片方、または両方が1のとき出力が1になります。
真理値表 X Y Z 0 0 0 1 0 1 0 1 1 1 1 1
- NAND
ナンドです。入力すべてが1のとき出力が0になります。
真理値表 X Y Z 0 0 1 1 0 1 0 1 1 1 1 0
- NOR
ノアです。入力のどちらか片方、または両方が1のとき出力が0になります。
真理値表 X Y Z 0 0 1 1 0 0 0 1 0 1 1 0
- XOR
エクスクルーシブ・オアです。入力が同じとき出力は0、異なるとき出力は1になります。
真理値表 X Y Z 0 0 0 1 0 1 0 1 1 1 1 0
ここで1つだけ補足しておきます。
それはNAND、NORはもちろんですが、XORについても他のNOT、AND、ORゲートの組み合わせで作ることができるという事です。
とはいえ、XORを現実に作る人はIC等の設計者くらいではないかと思います。
便利なICが用意されていて入手可能なときはそれを使ってしまいましょう。
2.電気的なこと
「ファンアウト」というものがあります。 ファンアウトとはICの出力端子にいくつ入力端子を接続できるかを表す数です。 ファンアウトはTTLにもCMOSにもありますが、CMOSを使用するとき私はほとんど気にしたことがありません。 ...というわけで、以下はTTLのファンアウトに関する解説です。
ICのデータシートを見ますと電流値にマイナス(-)の符号が付いていることがあります。 「電気」に関して少しでも勉強したことがある方であれば、 【符号は電流の向きを表している】ことはご存じかと思います。 データシートも例外ではなく電流の向きを表していますので、そのつもりでご覧ください。
TTLの出力端子には流せる電流(ソース電流、シンク電流)が決まっていて、データシートを見ると記述されています。
IOHがソース電流、High level時に出力できる電流のことです。
この電流値を超えてしまうと電圧が下がってしまい、High levelを維持できなくなります。
よって誤動作することになります。
IOLがシンク電流、Low level時に吸い込むことができる電流です。
思い出してください、電流は電圧の高い方から低い方へ流れるんですよね!?
なのでLow levelのときの出力端子には電流が流れ込むんですが、この吸い込む電流にも限界値があります。
それがIOLで表されています。
TTLの入力端子にも流す必要がある電流値が決まっています。
IIHはHigh level時に入力する必要がある電流値です。
IILはLow level時に出力される電流値です。
入力端子にLowを入力すると当然ですが入力端子から電流が出力されることになります。
この辺、良く分からない方は回路図を描いてみると納得できると思います。
001、002で学んだ回路を見直してみてくださいね。
ファンアウトH = IOH / IIH (出力Highのとき)
ファンアウトL = IOL / IIL (出力Lowのとき)
ファンアウトはファンアウトHとLのどちらか小さい方になります。
もちろんICにより電流値も異なってきますので、
実際に設計される際には「これくらいなら大丈夫」という自分なりのファンアウトをあらかじめ得ておく(決めておく)ことも必要です。
TTLの場合、私はせいぜい数個程度(10個くらいは大丈夫かもしれませんが...)にしています。
それ以上繋ぎたいときはバッファーを通して接続するようにしています。